#ifndef __EXPORT__
#define __EXPORT__

#include "MakeMarket.h"
#include "IKernel.h"
#include "KsmmRequest.h"


#ifdef __cplusplus
extern "C"
{
	__declspec(dllexport) bool __cdecl  AddInstance(IKernel * pvdKernel);
#endif

#ifdef __cplusplus
}
#endif
__declspec(dllexport) bool __cdecl AddInstance(IKernel * ptrKernel)
{
	bool bRetVal = false;
	try
	{
		ptrKernel->AddInstance(CMakeMarket::Instance());
        ptrKernel->AddInstance(CKsmmProcessMonitor::Instance());
		ptrKernel->AddInstance(CKsmmProcessMonitorRequest::Instance());
		ptrKernel->AddInstance(CClientProcessMonitor::Instance());
	}
	catch (...)
	{
		goto __end;
	}
	bRetVal = true;
__end:
	return bRetVal;
}

#endif//__EXPORT__